In designing semiconductor integrated circuits, it is a general practice to design positions of wirings for connecting circuit blocks by using an automatic wiring tool. An algorithm for determining the wiring positions differs depending on each automatic wiring tool. However, as far as connection is concerned, known methods are: a trunk wiring of each net is firstly defined; a lead-in wiring that connects the trunk wiring and input/output pins is then defined; and the input pins and the output pins are thereby mutually connected by each net.
FIG. 17 is a flowchart for explaining an automatic wiring method by the conventional algorithm described above. FIG. 18 to FIG. 20 are schematic diagrams showing layout regions to be automatically wired.
In this example, as shown in FIG. 18, an explanation is given of a case, as an example, where out of a plurality of circuit blocks 12a and 12b formed within a layout region 10, an output pin 14 of the circuit block 12a is connected to an input pin 16 of the circuit block 12b. In this case, although other nets exist within the layout region 10, the explanation is given by focusing on only a net comprised of the output pin 14 of the circuit block 12a and the input pins 16 of the circuit blocks 12b for the sake of greater clearness.
Firstly, X coordinates and Y coordinates of the output pin 14 and the input pins 16 existing within the layout region 10 are obtained (step S1). As shown in FIG. 18, the net is constituted of one output pin 14 and a plurality of (14 in total) input pins 16. That is, the net serves to commonly supply an output signal of the circuit block 12a as an input signal of 14 circuit blocks 12b. 
Subsequently, the average value of the Y coordinates of all pins 14 and 16 is calculated, and the obtained Y coordinate is determined as a Y coordinate 20y of the trunk wiring (step S2). Out of the X coordinates of all pins 14 and 16, an X coordinate of which value is the minimum (positioned at the leftmost) and an X coordinate of which value is the maximum (positioned at the rightmost) are selected, and the selected values are determined as X coordinates 20xl and 20xr of ends of the trunk wiring (step S3).
In practice, this process (steps S1 to S3) is performed on a plurality of nets. Thus, intervals between the trunk wirings that correspond to each net are sometimes too narrow, and in some cases, the trunk wirings are positioned to be short-circuited. In this case, the Y coordinates of some trunk wirings are increased or decreased for fine adjustment.
The position of the trunk wiring is thus established. According thereto, a trunk wiring 20 is hypothetically wired based on the determined XY coordinates, as shown in FIG. 19 (step S4). It is noted that the term “hypothetically” used herein means that the wiring is not performed on an actual device, and the wiring position is merely established in the automatic wiring tool.
Subsequently, as shown in FIG. 20, lead-in wirings 22 and 24 that connect all the pins 14, 16 and the trunk wiring 20 are hypothetically wired in the X direction (step S5). A wiring width of the lead-in wiring 22 connected to the output pin 14 is set to be sufficiently large. The reason for this is that since one output pin 14 is connected to a number of input pins 16, a resistance value of the lead-in wiring 22 connected to the output pin 14 needs to be sufficiently low as compared to the lead-in wirings 24 connected to the input pins 16.
This completes the automatic wiring of the net. As explained above, in practice, the process (steps S1 to S5) is performed on the plurality of nets, and thereby, the automatic wirings for all the nets within the layout region 10 are completed.
Regarding the technique relating to the automatic wiring of semiconductor integrated circuits, techniques described in Japanese Patent Application Laid Open Nos. 2003-16126, H11-67926, 2000-349160, H6-163696, 2003-332431, and 2000-216252 are known, for example.
However, in the conventional automatic wiring method, the lead-in wirings 22 and 24 including a substantially equivalent number of pins 14 and 16 to be connected are needed. This does not lead to a serious problem in the case where the number of nets is small relative to the area of the layout region 10. However, in the case where the number of nets is large relative to the area of the layout region 10, in other words, when the area of the layout region 10 is narrow relative to the number of nets, the conventional case sometimes causes occurrence of a net where the automatic wiring is impossible.
Semiconductor integrated circuits of which area of the layout region 10 is relatively narrow relative to the number of nets include a semiconductor memory such as DRAM (Dynamic Random Access Memory). This is due to the fact that in the semiconductor memory, most of the area is used as a memory cell region, and strong demands for reduction in cost lead to a multiple-layered structure, thereby making it difficult to form a wiring region on the memory cell region. Thus, in the semiconductor memory, there is no other choice but to perform wiring between the circuit blocks that configure peripheral circuits such as a decoder within a narrow peripheral circuit range. As a result, when the conventional automatic wiring tool is used, a net where the automatic wiring is impossible is often generated.
It is therefore an object of the present invention to provide an improved design method and apparatus for a semiconductor integrated circuit.
Another object of the present invention is to provide a design method and apparatus for a semiconductor integrated circuit, capable of reducing the number of lead-in wirings.
Still another object of the present invention is to provide a design method and apparatus suitable for automatically wiring a peripheral circuit region of a semiconductor memory.